The present invention relates generally to electronic musical instruments, and in particular to an electronic musical instrument which generates an aperiodic musical waveform from a plurality of digital amplitudes corresponding to sample points in the original aperiodic waveform.
It is known to construct an electronic musical instrument using a digital memory in which an audio waveform is stored in sampled form. The stored audio waveform is conventionally read out of the memory at a constant rate in response to an address counter and is then converted to an analog signal by a digital-to-analog converter. In systems of this type it is desirable to store the digital samples using as few binary digits as possible in order to minimize the cost of the memory. In the case of periodic waveforms, it is common to store digital samples defining only one period of the waveform, the remainder of the waveform being derived through calculations performed on the, stored samples. Audio waveforms which are not of a periodic nature, such as complex percussive waveforms which decay gradually with time, cannot, however, be treated in this manner. In order to faithfully reproduce such waveforms using the sequential sampling technique, it is necessary to store substantially the entire waveform in sampled form.
Percussive waveforms have a rapidly rising portion generated in response to the occurrence of a crash of cymbals, for example, and an exponentially declining portion which rapidly decreases at first and then decays more and more slowly with time. The early stages of the waveform have a larger harmonic content than the later stages of the waveform. One approach that has hitherto been proposed involves storing the early stages of the waveform in digital form by eliminating the exponentially declining tail portion and reading the stored digital samples in a forward scan at first and then recyclically repeating forward and rearward scans to read a portion of the memory having a lesser harmonic content. Since the capacity of the memory needed to store such waveforms is determined by the number of bits required to resolve the highest peak of the waveform multiplied by the number of sample points on the time axis and since the recycled portion of the stored data occupies a smaller part of the memory, the memory utilization of the proposed system is still not satisfactory.